﻿Imports System.Data.SqlClient

Public Class frmE_DetalleDia
    Dim IDOperador

    Private Sub ToolStripButton8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton8.Click
        Close()

    End Sub

    Private Sub frmE_DetalleDia_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ToolStrip1.Cursor = Cursors.Hand
        ToolStrip1.RenderMode = System.Windows.Forms.ToolStripRenderMode.System

        IDOperador = frm_E_Detallado.txtIDOperador.Text
        CargaServicios()
        CargaDiesel()
        CargaVentas()

        Application.DoEvents()

        If dgServicios.Rows.Count = 0 Then
            radServiciosNo.Checked = True
            txtPorcentajeServicios.Text = 0
            txtServicios.Text = (txtPorcentajeServicios.Text) * 150
        End If


        If dgSalidas.Rows.Count = 0 Then
            radHorariosNO.Checked = True
            txtPorcentajeHorarios.Text = 0
            txtHorarios.Text = (txtPorcentajeHorarios.Text) * 150
        End If


        If dgVentas.Rows.Count = 0 Then
            radLiquidacionNo.Checked = True
            txtPorcentajeVentas.Text = 0
            txtVentas.Text = (txtPorcentajeVentas.Text) * 150
        End If


        If dgBloqueos.Rows.Count = 0 Then
            radBloqueosNo.Checked = True
            txtPorcentajeBloqueos.Text = 0
            txtBloqueos.Text = (txtPorcentajeBloqueos.Text) * 150
        End If



        Dim Total As Double = (txtPorcentajeServicios.Text) + CDbl(txtPorcentajeHorarios.Text) + CDbl(txtPorcentajePresentacion.Text) + CDbl(txtPorcentajeRendimiento.Text) + CDbl(txtPorcentajeVentas.Text) + CDbl(txtPorcentajeBloqueos.Text)
        txtPorcentajeTotal.Text = Total
        txtTotal.Text = Format(CDbl(txtPorcentajeTotal.Text) * 150, "##,##0.0")
        txtPorcentajeTotal.Text = Format(CDbl(Total), "0.00%")
        Formatea()


    End Sub
    Sub CargaServicios()
        dgServicios.Rows.Clear()
        dgSalidas.Rows.Clear()

        Dim Fecha As String = datFecha1.Value.ToString("MM/dd/yyyy")


        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Perdidos As Double = 0
        Dim Minutos As Integer = 0
        Dim PorcentajeMinutos As Double = 0
        Dim Presentable As Integer = 0

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT * FROM E_Servicios WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'  AND IdOperador=" & IDOperador

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                dgServicios.Rows.Add(rdBuscar("Roles"), rdBuscar("Realizados"), rdBuscar("Roles") - rdBuscar("Realizados"))
                Minutos = BuscarIntDatoCitra("SELECT COUNT(*) FROM E_Despachos WHERE Minutos<>0 CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'  AND IdOperador=" & IDOperador)
                dgSalidas.Rows.Add(rdBuscar("Roles"), Minutos, ((Minutos * 100) / rdBuscar("Roles")) / 100)
            Loop

            For i = 0 To dgServicios.Rows.Count - 1
                Perdidos = Perdidos + dgServicios.Rows(i).Cells(2).Value
            Next

            For i = 0 To dgSalidas.Rows.Count - 1
                PorcentajeMinutos = PorcentajeMinutos + (dgSalidas.Rows(i).Cells(2).Value * 100)
            Next

            If Perdidos > 0 Then
                radServiciosNo.Checked = True
                txtPorcentajeServicios.Text = 0
            Else
                radServiciosSI.Checked = True
                txtPorcentajeServicios.Text = BuscarDblDatoCitra("SELECT Servicios FROM E_Porcentajes WHERE IDPorcentaje=1") / 100
            End If
            txtServicios.Text = (txtPorcentajeServicios.Text) * 150

            If PorcentajeMinutos > 30 Then
                radHorariosNO.Checked = True
                txtPorcentajeHorarios.Text = 0
            Else
                radHorariosSI.Checked = True
                txtPorcentajeHorarios.Text = BuscarDblDatoCitra("SELECT Puntualidad FROM E_Porcentajes WHERE IDPorcentaje=1") / 100
            End If
            txtHorarios.Text = (txtPorcentajeHorarios.Text) * 150

            Presentable = BuscarIntDatoCitra("SELECT Presentable FROM E_Presentacion WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'  AND IdOperador=" & IDOperador)
            If Presentable = 0 Then
                radPresentableNo.Checked = True
                txtPorcentajePresentacion.Text = 0
            Else
                radPresentableSi.Checked = True
                txtPorcentajePresentacion.Text = BuscarDblDatoCitra("SELECT Presentacion FROM E_Porcentajes WHERE IDPorcentaje=1") / 100
            End If
            txtPresentaBLE.Text = (txtPorcentajePresentacion.Text) * 150

        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

    End Sub
    Sub CargaDiesel()
        dgRendimiento.Rows.Clear()

        Dim Fecha As String = datFecha1.Value.ToString("MM/dd/yyyy")

        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Diferencia As Double = 0

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT * FROM E_Rendimiento WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'  AND IdOperador=" & IDOperador

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                dgRendimiento.Rows.Add(rdBuscar("RendStd"), rdBuscar("RendReal"), rdBuscar("RendReal") - rdBuscar("RendStd"))
            Loop

            For i = 0 To dgRendimiento.Rows.Count - 1
                Diferencia = Diferencia + dgRendimiento.Rows(i).Cells(2).Value
            Next

            If Diferencia < 0 Then
                radRendimientoNO.Checked = True
                txtPorcentajeRendimiento.Text = 0
            Else
                radRendimientoSi.Checked = True
                txtPorcentajeRendimiento.Text = BuscarDblDatoCitra("SELECT Rendimiento FROM E_Porcentajes WHERE IDPorcentaje=1") / 100
            End If
            txtRendimiento.Text = (txtPorcentajeRendimiento.Text) * 150

        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

    End Sub
    Sub CargaVentas()
        dgVentas.Rows.Clear()
        dgBloqueos.Rows.Clear()

        Dim Fecha As String = datFecha1.Value.ToString("MM/dd/yyyy")

        Dim cnConn As New SqlConnection
        Dim strSql As String
        Dim cmdBuscar As New SqlCommand
        Dim rdBuscar As SqlDataReader

        Dim Diferencia As Double = 0
        Dim Porcentaje As Double = 0

        Try
            cnConn.ConnectionString = CitraConnection
            strSql = "SELECT * FROM E_Ventas WHERE CONVERT(VARCHAR,Fecha,101)='" & Fecha & "'  AND IdOperador=" & IDOperador

            cmdBuscar.Connection = cnConn
            cmdBuscar.CommandText = strSql

            cnConn.Open()
            rdBuscar = cmdBuscar.ExecuteReader

            Do While rdBuscar.Read()
                Diferencia = ((rdBuscar("Liquidacion") + 300) * 100) / rdBuscar("Optpcontrol") / 100
                Porcentaje = rdBuscar("Porcentaje") / 100
                dgVentas.Rows.Add(rdBuscar("Optpcontrol"), rdBuscar("Liquidacion") + 300, Diferencia)
                dgBloqueos.Rows.Add(rdBuscar("Movilidad"), rdBuscar("Bloqueos"), Porcentaje)
            Loop

            If (Diferencia * 100) < 95 Then
                radLiquidacionNo.Checked = True
                txtPorcentajeVentas.Text = 0
            Else
                radLiquidacionSi.Checked = True
                txtPorcentajeVentas.Text = BuscarDblDatoCitra("SELECT Ventas FROM E_Porcentajes WHERE IDPorcentaje=1") / 100
            End If
            txtVentas.Text = (txtPorcentajeVentas.Text) * 150

            If (Porcentaje * 100) > 35 Then
                radBloqueosNo.Checked = True
                txtPorcentajeBloqueos.Text = 0
            Else
                radBloqueosSi.Checked = True
                txtPorcentajeBloqueos.Text = BuscarDblDatoCitra("SELECT Bloqueos FROM E_Porcentajes WHERE IDPorcentaje=1") / 100
            End If

            txtBloqueos.Text = (txtPorcentajeBloqueos.Text) * 150
        Catch ex As Exception
            MessageBox.Show(ex.Message, "System Message", MessageBoxButtons.OK, MessageBoxIcon.Error)
        Finally
            If cnConn.State = ConnectionState.Open Then
                cnConn.Close()
            End If
        End Try

    End Sub
    Sub Formatea()
        For i = 0 To 2
            dgServicios.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
            dgSalidas.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
            dgRendimiento.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
            dgVentas.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
            dgBloqueos.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight
            dgServicios.Columns(i).DefaultCellStyle.Format = "##,##0.0"
            dgSalidas.Columns(i).DefaultCellStyle.Format = "##,##0.0"
            dgRendimiento.Columns(i).DefaultCellStyle.Format = "##,##0.0"
            dgVentas.Columns(i).DefaultCellStyle.Format = "##,##0.0"
            dgBloqueos.Columns(i).DefaultCellStyle.Format = "##,##0.0"
        Next
        dgSalidas.Columns(2).DefaultCellStyle.Format = "0.00%"
        dgVentas.Columns(2).DefaultCellStyle.Format = "0.00%"
        dgBloqueos.Columns(2).DefaultCellStyle.Format = "0.00%"


        txtPorcentajeServicios.Text = Format(CDbl(txtPorcentajeServicios.Text), "0.00%")
        txtServicios.Text = Format(CDbl(txtServicios.Text), "##,##0.0")

        txtPorcentajeHorarios.Text = Format(CDbl(txtPorcentajeHorarios.Text), "0.00%")
        txtHorarios.Text = Format(CDbl(txtHorarios.Text), "##,##0.0")

        txtPorcentajePresentacion.Text = Format(CDbl(txtPorcentajePresentacion.Text), "0.00%")
        txtPresentaBLE.Text = Format(CDbl(txtPresentaBLE.Text), "##,##0.0")

        txtPorcentajeRendimiento.Text = Format(CDbl(txtPorcentajeRendimiento.Text), "0.00%")
        txtRendimiento.Text = Format(CDbl(txtRendimiento.Text), "##,##0.0")

        txtPorcentajeVentas.Text = Format(CDbl(txtPorcentajeVentas.Text), "0.00%")
        txtVentas.Text = Format(CDbl(txtVentas.Text), "##,##0.0")

        txtPorcentajeBloqueos.Text = Format(CDbl(txtPorcentajeBloqueos.Text), "0.00%")
        txtBloqueos.Text = Format(CDbl(txtBloqueos.Text), "##,##0.0")

        txtPorcentajeServicios.TextAlign = HorizontalAlignment.Right
        txtPorcentajeHorarios.TextAlign = HorizontalAlignment.Right
        txtPorcentajePresentacion.TextAlign = HorizontalAlignment.Right
        txtPorcentajeRendimiento.TextAlign = HorizontalAlignment.Right
        txtPorcentajeVentas.TextAlign = HorizontalAlignment.Right
        txtPorcentajeBloqueos.TextAlign = HorizontalAlignment.Right
        txtPorcentajeTotal.TextAlign = HorizontalAlignment.Right

        txtServicios.TextAlign = HorizontalAlignment.Right
        txtHorarios.TextAlign = HorizontalAlignment.Right
        txtPresentaBLE.TextAlign = HorizontalAlignment.Right
        txtRendimiento.TextAlign = HorizontalAlignment.Right
        txtVentas.TextAlign = HorizontalAlignment.Right
        txtBloqueos.TextAlign = HorizontalAlignment.Right
        txtTotal.TextAlign = HorizontalAlignment.Right


    End Sub
End Class